package com.demo.gulimall.product.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import java.io.Serializable;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

/**
 * 商品属性
 *
 * @author Chen Yuan
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@TableName("pms_attr")
public class Attr implements Serializable {
	/** 属性id */
	@TableId(type = IdType.ID_WORKER) // 老版本
    //@TableId(type = IdType.ASSIGN_ID) // 新版本
	@JsonSerialize(using = ToStringSerializer.class)
	@TableField(value = "`attr_id`")
	private Long attrId;

	/** 属性名 */
	@TableField(value = "`attr_name`")
	private String attrName;

	/** 是否需要检索[0-不需要，1-需要] */
	@TableField(value = "`search_type`")
	private Byte searchType;

	/** 值类型[0-为单个值，1-可以选择多个值] */
	@TableField(value = "`value_type`")
	private Byte valueType;

	/** 属性图标 */
	@TableField(value = "`icon`")
	private String icon;

	/** 可选值列表[用逗号分隔] */
	@TableField(value = "`value_select`")
	private String valueSelect;

	/** 属性类型[0-销售属性，1-基本属性，2-既是销售属性又是基本属性] */
	@TableField(value = "`attr_type`")
	private Byte attrType;

	/** 启用状态[0 - 禁用，1 - 启用] */
	@JsonSerialize(using = ToStringSerializer.class)
	@TableField(value = "`enable`")
	private Long enable;

	/** 所属分类 */
	@JsonSerialize(using = ToStringSerializer.class)
	@TableField(value = "`catelog_id`")
	private Long catelogId;

	/** 快速展示【是否展示在介绍上；0-否 1-是】，在sku中仍然可以调整 */
	@TableField(value = "`show_desc`")
	private Byte showDesc;

}
